package com.ym.soso.domain.param;

import com.ym.common.constant.BeanCovert;
import static com.ym.common.constant.ValidRule.Add;
import static com.ym.common.constant.ValidRule.Update;
import com.ym.soso.domain.entity.PharmacyInfoEntity;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;

/**
 * 药店信息对象 pharmacy_info
 *
 * @author ym
 * @date 2020-09-02
 */
@ApiModel("药店信息-修改")
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PharmacyInfoUpdateParam extends BeanCovert<PharmacyInfoEntity>{

    @ApiModelProperty("主键")
    @NotNull(message = "主键不能为空", groups = {Add.class, Update.class})
    private Long id;

    @ApiModelProperty("药店编码")
    @NotEmpty(message = "药店编码不能为空", groups = {Add.class, Update.class})
    @Size(max = 200, message = "药店编码长度超过{max}", groups = {Add.class, Update.class})
    private String theCode;

    @ApiModelProperty("药店名称")
    @NotEmpty(message = "药店名称不能为空", groups = {Add.class, Update.class})
    @Size(max = 200, message = "药店名称长度超过{max}", groups = {Add.class, Update.class})
    private String theName;

    @ApiModelProperty("介绍")
    @Size(max = 5000, message = "介绍长度超过{max}", groups = {Add.class, Update.class})
    private String introduction;

    @ApiModelProperty("icon图")
    @Size(max = 200, message = "icon图长度超过{max}", groups = {Add.class, Update.class})
    private String icon;

    @ApiModelProperty("送药上门")
    @NotEmpty(message = "送药上门不能为空", groups = {Add.class, Update.class})
    @Size(max = 2, message = "送药上门长度超过{max}", groups = {Add.class, Update.class})
    private String theSend;

    @ApiModelProperty("营业时间")
    @Size(max = 200, message = "营业时间长度超过{max}", groups = {Add.class, Update.class})
    private String busTime;

    @ApiModelProperty("医生坐症")
    @NotEmpty(message = "医生坐症不能为空", groups = {Add.class, Update.class})
    @Size(max = 2, message = "医生坐症长度超过{max}", groups = {Add.class, Update.class})
    private String hasDoc;

    @ApiModelProperty("区域")
    @Size(max = 20, message = "区域长度超过{max}", groups = {Add.class, Update.class})
    private String area;

    @ApiModelProperty("省份")
    @Size(max = 20, message = "省份长度超过{max}", groups = {Add.class, Update.class})
    private String prov;

    @ApiModelProperty("市")
    @Size(max = 20, message = "市长度超过{max}", groups = {Add.class, Update.class})
    private String city;

    @ApiModelProperty("国内排名")
    private Integer landRank;

    @ApiModelProperty("区域排名")
    private Integer areaRank;

    @ApiModelProperty("省排名")
    private Integer provRank;

    @ApiModelProperty("市级排名")
    private Integer cityRank;

    @ApiModelProperty("经度")
    @NotNull(message = "经度不能为空", groups = {Add.class, Update.class})
    private Double lng;

    @ApiModelProperty("纬度")
    @NotNull(message = "纬度不能为空", groups = {Add.class, Update.class})
    private Double lat;

    @ApiModelProperty("地址")
    @Size(max = 500, message = "地址长度超过{max}", groups = {Add.class, Update.class})
    private String address;

    @ApiModelProperty("联系电话")
    @Size(max = 200, message = "联系电话长度超过{max}", groups = {Add.class, Update.class})
    private String linkPhone;

    @ApiModelProperty("服务项目")
    @Size(max = 1000, message = "服务项目长度超过{max}", groups = {Add.class, Update.class})
    private String serviceItem;

    @ApiModelProperty("趁车路线")
    @Size(max = 500, message = "趁车路线长度超过{max}", groups = {Add.class, Update.class})
    private String thePath;

    @ApiModelProperty("标签")
    @Size(max = 1000, message = "标签长度超过{max}", groups = {Add.class, Update.class})
    private String tags;

    @ApiModelProperty("创建人")
    @NotNull(message = "创建人不能为空", groups = {Add.class, Update.class})
    private Long creSb;

    @ApiModelProperty("发布时间")
    private Date publishTime;

    @ApiModelProperty("创建时间")
    @NotNull(message = "创建时间不能为空", groups = {Add.class, Update.class})
    private Date creTime;

    @ApiModelProperty("发布状态")
    @Size(max = 2, message = "发布状态长度超过{max}", groups = {Add.class, Update.class})
    private String publishStatus;

    @ApiModelProperty("更新人")
    private Long uptSb;

    @ApiModelProperty("更新时间")
    private Date uptTime;

    @ApiModelProperty("删除标志")
    @NotEmpty(message = "删除标志不能为空", groups = {Add.class, Update.class})
    @Size(max = 2, message = "删除标志长度超过{max}", groups = {Add.class, Update.class})
    private String deleted;

    @ApiModelProperty("发布人")
    private Long publisher;

}
